﻿using System.IO;
using System.Threading.Tasks;

namespace Smile.Imaging
{
    public enum ImageBase64Mode
    {
        Common,
        Windows
    }

    public enum ImageResizeMode
    {
        KeepRatio,
        IgnoreRatio
    }

    public interface IImage
    {
        // @Properties
        int Width { get; }
        int Heigth { get; }
        int Size { get; }
        string Filename { get;}
        Stream ImageStream { get; }


        // @Members function
        IImage Resize(int width, int heigth, ImageResizeMode mode = ImageResizeMode.KeepRatio);
        Task<string> ToBase64Async(ImageBase64Mode mode = ImageBase64Mode.Common);
    }
}
